/*
 * ----------------------------------------------------------------------------
 *  (C) Copyright European Telecommunications Standards Institute, 2001.
 *  All Rights Reserved.
 *
 *  All copies of this program, whether in whole or in part, and whether
 *  modified or not, must display this and all other embedded copyright
 *  and ownership notices in full.
 *
 * ----------------------------------------------------------------------------
 */
package org.etsi.ttcn.tri;

import java.io.Serializable;

/** 
    A value of type TriParameterListType is a list of
    TriParameterType. This abstract type is used in procedure based
    TRI communication operations and for external function calls.
 */
public interface TriParameterList extends Serializable {

    /** Returns the number of parameters in this list.
     */
    public int                   size();

    /** Returns true if this list contains no parameters.
     */
    public boolean               isEmpty();

    /** Returns an Enumeration over the parameters in the list. The
	enumeration provides the parameters in the same order as they
	appear in the list.
    */
    public java.util.Enumeration getParameters();

    /** Returns the TriParameter at the specified position.
     */
    public TriParameter          get(int index);

    /** Removes all parameters from this TriParameterList.
     */
    public void                  clear();

    /** Adds parameter to the end of this TriParameterList.
     */
    public void                  add(TriParameter parameter);
}
